1. Field of the Invention
The present invention relates to a hard disk drive, and more particularly, to an apparatus and method for controlling read/write operations of data on a hard disk having no identification (ID) information. This application for an apparatus and method for controlling a hard disk drive is based on Korean Patent Application No. 96-30890 which is incorporated herein by reference for all purposes.
2. Description of the Related Arts
FIG. 1 is a block diagram of a typical hard disk drive. As shown in FIG. 1, a hard disk drive includes a plurality of disks 110 and heads 112, each of which flies over a surface of a corresponding disk. The heads 112 picks up a signal and the signal is amplified by a preamplifier 114 which is electrically connected to the heads 112. The amplified signal is then supplied to a read/write circuit 116. The read/write circuit 116 detects and decodes a data pulse from the signal output by the preamplifier 114 and supplies the decoded data pulse to a disk controller 118. Additionally, the read/write circuit 116 encodes data output by the disk controller 118 and supplies the encoded data to the preamplifier 114.
The disk controller 118 includes a sequencer which performs actions according to a program downloaded from a microcontroller 122. The disk controller 118 writes data received from a host computer onto the disk 110 via the read/write circuit 116 and the preamplifier 114, and transmits the data read out from the disk 110 to the host computer.
The disk controller 118 also interfaces communication between the host computer and the microcontroller 122. A buffer RAM 120 buffers data transmitted between the host computer, the microcontroller 122 and the read/write circuit 116.
The microcontroller 122 controls the disk controller 118 and track search and tracking operations in response to a read/write command received from the host computer. A ROM 124 stores programs, which are executed by the microcontroller 122, as well as various parameters.
A servo driver 126 generates a driving current for driving an actuator 128 according to head control data output by the microcontroller 122. The actuator 128 moves the head 122 across the disk according to the direction and magnitude of the driving current. A spindle motor driver 130 drives a spindle motor 132 in response to motor control data output by the microcontroller 122 such that the spindle motor 132 rotates according to the value of the control data.
A disk signal controller 134 decodes servo information from the read data output by the read/write circuit 116 to supply the decoded information to the microcontroller 122, and supplies various control signals necessary for the read/write operation to the disk controller 118.
FIG. 2A shows the data format of a hard disk drive. FIG. 2B is a timing diagram of a servo pulse train generated by the disk controller by detecting positions of servo areas shown in FIG. 2A. FIG. 2C is a timing diagram of data sector pulses generated by the disk controller 118 by detecting positions of the data sectors shown in FIG. 2A.
A hard disk is divided into a plurality of concentric cylinders (CYL). One of the cylinders is formatted as shown in FIG. 2A. In FIG. 2A, a cylinder consists of N servo sectors, each of which consists of a servo area and M data sectors. A single data sector consists of an identification (ID) area and a data area.
In a typical hard disk drive, ID information and data are recorded with uniform recording density to increase memory capacity, and each data area stores the same amount of data, i.e., 512 bytes, regardless of its position on the disk. Accordingly, if an embedded sector type of servo is employed, a single data sector may be split into two segments depending on the position of the data sector on a disk, which is referred to as a split data sector.
On the other hand, since each data sector includes an ID area containing ID information, in addition to a data area containing data, an area of each data sector as large as the ID area, e.g. 29 bytes, cannot be used by a user as data storage space.
Thus, the storage capacity may be increased if the ID information, which is an overhead that does not substantially store information, is deleted. Furthermore, the overhead for write-read recovery time between the ID area and the data area, approximately 8 .mu.sec (which is a characteristic of the head), can be removed if the ID information is deleted. As a result of eliminating ID information, the disk capacity may increase by about 6%.
When there is no ID area on the disk, however, an additional method for searching for a target data sector is used. To search for the target data, the microcontroller 122 controls the disk controller 118 such that the disk controller 118 determines the current position of the head on the disk by counting the number of servo sectors from an index on the disk or reading the servo number written in a servo area, and controls the disk controller 118 to search for the target servo sector. Subsequently, the microcontroller 122 skips as many data sectors as the preset value in a skip counter, and then controls the disk controller 118 to initiate a disk read/write operation.
The buffer RAM 120 in the hard disk drive in FIG. 1 compensates for the difference in speed between the host computer and the hard disk drive. However, when the buffer RAM 120 becomes full or empty due to the difference between the operating speed of the host computer and that of the hard disk drive, an error occurs in that data cannot normally be read or written from or to the buffer.
When a buffer error occurs in a hard disk drive having ID information on the disks, the disk controller 118 searches for a target data sector using the ID information and automatically performs disk read/write operation from the point where the error occurred. The disk controller 118 does this by comparing the ID information written on the disk with information on the target data sector which is continuously updated after the target data sector is found.
In contrast, in a hard disk drive having no ID information on a disk, when the buffer error occurs, the target servo sector is not updated after the target data sector is found since there is no ID information. Also, the skip counter is not updated since there is no data sector to skip.
Thus, when a buffer error occurs during the disk read/write operations in a hard disk drive without ID information, the microcontroller 122 stops the operation of the sequencer, recognizes the operations performed before the buffer error occurred, and continuously detects the end of the buffer error. Then, the microcontroller 122 starts again the operation adjacent the one which had been performed just before the error occurred. This is disadvantageous because it is time-consuming and there may be numerous loads on the microcontroller 122.